package cn.kgc.service;

import cn.kgc.entity.Menus;
import cn.kgc.entity.RouterVo;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.security.core.authority.SimpleGrantedAuthority;

import java.util.List;


/**
 * @author YC
 */
public interface MenusService extends IService<Menus> {

    /**
     * 根据角色id查询菜单
     *
     * @param roleId 角色id
     * @return 菜单列表
     */
    List<Menus> selectAllMenusByRoleId(Integer roleId);

    /**
     * 根据用户Id查询角色所拥有的权限集合
     * `
     *
     * @param userId 角色Id
     * @return 权限集合
     */
    List<SimpleGrantedAuthority> getAuthoritiesByUserId(Integer userId);

    /**
     * 查询用户所拥有的按钮权限
     *
     * @return 权限集合
     */
    List<String> getMenuPerms();

    /**
     * 获得登录用户拥有的路由信息
     *
     * @return 路由信息集合
     */
    List<RouterVo> getRouterVoList();

}
